package cn.qayy.dao;

import java.util.List;
import java.util.Map;

public interface SynchronizationMapper {
	/***
	 * 基础库同步更新注册库
	 * @param provinces 省份集合
	 * @param citys 地市集合
	 * @param countrys 区县集合
	 */
	void basicUpdateRegister(Map<String, Object> params);
	/***
	 * 基础库同步更新流向
	 * @param provinces 省份集合
	 * @param citys 地市集合
	 * @param countrys 区县集合
	 * 分组标识：品种
	 */
	void basicUpdatePlans_product(Map<String, Object> params);
	/***
	 * 基础库同步更新流向
	 * @param provinces 省份集合
	 * @param citys 地市集合
	 * @param countrys 区县集合
	 * 分组标识：条线
	 */
	void basicUpdatePlans_tx(Map<String, Object> params);
	/***
	 * 基础库同步更新流向
	 * @param provinces 省份集合
	 * @param citys 地市集合
	 * @param countrys 区县集合
	 * 分组标识为：渠道
	 */
	void basicUpdatePlans_qudao(Map<String, Object> params);
	
	
	/***
	 * 注册库同步更新流向
	 * @param cnames 入货乙方们
	 * 主要更新流向表的 地市、区县、分部、Qs名、级别、渠道、经理、大区、片区
	 */
	void registerUpdatePlans1(Map<String, Object> params);
	/***
	 * 注册库同步更新流向
	 * @param cnames 入货乙方们
	 * 主要更新省份
	 */
	void registerUpdatePlans2(Map<String, Object> params);
	/**
	 * 流向表同步更新注册库
	 * @param params
	 */
	void plansUpdateRegister(Map<String, Object> params);
	
	/***
	 * 通过省份、地市、区县查询对应的入货乙方们
	 * params：
	 * provinces 省份集合
	 * citys 地市集合
	 * countrys 区县集合
	 */
	List<String> selectCnamesByPCC(Map<String, Object> params);
	/**
	 * 更新销售折量
	 * @param params
	 */
	void updateXsCount_A12_Rx(Map<String, Object> params);
	void updateXsCount_A24_Rx(Map<String, Object> params);
	void updateXsCount_A36_Rx(Map<String, Object> params);
	void updateXsCount_A48_Rx(Map<String, Object> params);
	void updateXsCount_A20_Rx(Map<String, Object> params);
	void updateXsCount_A30_Rx(Map<String, Object> params);
	void updateXsCount_A40_Rx(Map<String, Object> params);
	void updateXsCount_A240_Rx(Map<String, Object> params);
	void updateXsCount_A480_Rx(Map<String, Object> params);
	
	void updateXsCount_Y24_Rx(Map<String, Object> params);
	void updateXsCount_Y36_Rx(Map<String, Object> params);
	void updateXsCount_Y48_Rx(Map<String, Object> params);
	void updateXsCount_Y20_Rx(Map<String, Object> params);
	void updateXsCount_Y30_Rx(Map<String, Object> params);
	void updateXsCount_Y40_Rx(Map<String, Object> params);
	void updateXsCount_Y60_Rx(Map<String, Object> params);
	void updateXsCount_Z48_Rx(Map<String, Object> params);
	void updateXsCount_Z24_Rx(Map<String, Object> params);
	void updateXsCount_Z36_Rx(Map<String, Object> params);
	void updateXsCount_Z20_Rx(Map<String, Object> params);
	void updateXsCount_Z30_Rx(Map<String, Object> params);
	void updateXsCount_Z40_Rx(Map<String, Object> params);
	void updateXsCount_Z60_Rx(Map<String, Object> params);
	
	void updateXsCount_A12_OTC(Map<String, Object> params);
	void updateXsCount_A24_OTC(Map<String, Object> params);
	void updateXsCount_A36_OTC(Map<String, Object> params);
	void updateXsCount_A48_OTC(Map<String, Object> params);
	void updateXsCount_A20_OTC(Map<String, Object> params);
	void updateXsCount_A30_OTC(Map<String, Object> params);
	void updateXsCount_A40_OTC(Map<String, Object> params);
	void updateXsCount_A240_OTC(Map<String, Object> params);
	void updateXsCount_A480_OTC(Map<String, Object> params);
	
	
	void updateXsCount_Y24_OTC(Map<String, Object> params);
	void updateXsCount_Y36_OTC(Map<String, Object> params);
	void updateXsCount_Y48_OTC(Map<String, Object> params);
	void updateXsCount_Y20_OTC(Map<String, Object> params);
	void updateXsCount_Y30_OTC(Map<String, Object> params);
	void updateXsCount_Y40_OTC(Map<String, Object> params);
	void updateXsCount_Y60_OTC(Map<String, Object> params);
	void updateXsCount_Z48_OTC(Map<String, Object> params);
	void updateXsCount_Z24_OTC(Map<String, Object> params);
	void updateXsCount_Z36_OTC(Map<String, Object> params);
	void updateXsCount_Z20_OTC(Map<String, Object> params);
	void updateXsCount_Z30_OTC(Map<String, Object> params);
	void updateXsCount_Z40_OTC(Map<String, Object> params);
	void updateXsCount_Z60_OTC(Map<String, Object> params);
	void basicUpdatePlans_other(Map<String, Object> params);
	
	void updateXsCount_B5_xj_zy(Map<String, Object> params);
	void updateXsCount_B10_xj_zy(Map<String, Object> params);
	void updateXsCount_B5_xj_xb(Map<String, Object> params);
	void updateXsCount_B10_xj_xb(Map<String, Object> params);
	void updateXsCount_B5_xj_yf(Map<String, Object> params);
	void updateXsCount_B10_xj_yf(Map<String, Object> params);
	void updateXsCount_B5_other(Map<String, Object> params);
	void updateXsCount_B10_other(Map<String, Object> params);
}
